Feststellen, ob umliegende Zellen beschrieben worden sind
Den kompletten Code dieses Beispiels finden Sie in der Datei "Region.xls". |
Oft werden Sie beim Schreiben eines VBA-Programmes nicht wissen, mit welchen Zellen Ihr Programm arbeiten wird müssen. Denken Sie zum Beispiel daran, daß jemand eine Liste (das ist ein geschlossener Bereich von mit Werten versehenen Tabellenzellen) ausfüllt oder aus einer anderen Anwendung übernimmt. Was Sie wahrscheinlich immer wissen, ist, wo die obere linke Zelle eines solchen Bereiches liegt. Von dort ausgehend können Sie VBA die Ausdehnung des Bereiches suchen lassen:
Sub AktuelleRegionWählen() ThisWorkbook.Activate Sheets("Tabelle1").Select [A1].Select Call BereichAusfüllen [A1].Select Selection.CurrentRegion.Select MsgBox Selection.Address(External:=True) End Sub Sub BereichAusfüllen() Zeilenzahl = CInt(InputBox("Wieviele Zeilen soll der Bereich haben?")) Spaltenzahl = CInt(InputBox("Und wieviele Spalten?")) ThisWorkbook.Activate Sheets("Tabelle1").Select [A1].Select For Zeilenzähler = 1 To Zeilenzahl For Spaltenzähler = 1 To Spaltenzahl ActiveCell.Value = Zeilenzähler * Spaltenzähler ActiveCell.Offset(0, 1).Select Next ActiveCell.Offset(1, -Spaltenzahl).Select Next End Sub ThisWorkbook.Activate
Macht die Arbeitsmappe, in der das VBA-Programm läuft, zur aktiven Arbeitsmappe.. Vergleiche: "ActiveWorkbook"-jede beliebige Arbeitsmappe, die gerade aktiv ist.
Sheets("Tabelle1").Select
Wählt in der gerade aktiven Arbeitsmappe "Tabelle1" aus.
[A1].Select
Wählt in der gerade ausgewählten Tabelle die Zelle A1 aus.
Call BereichAusfüllen
Ruft die Prozedur "BereichAusfüllen" aus. Diese wird weiter unten besprochen.
[A1].Select
Wählt in der gerade ausgewählten Tabelle wieder die Zelle A1 aus.
Select.CurrentRegion.Select
Wählt alle Zellen in der Nachbarschaft von A1 aus, die nicht leer sind. Siehe Erklärung gleich unten.
MsgBox Selection.Address(external:=True)
Anzeige der Adresse der ausgewählten Zellen in der Form Mappe-Tabelle-Zellkoordinaten.
DIE "CURRENTREGION"-EIGENSCHAFT
Gibt ein Bereich-Objekt zurück, das den aktuellen Bereich repräsentiert. Der aktuelle Bereich entspricht der Fläche um die aktuelle Auswahl, die durch eine Kombination aus leeren Zeilen und leeren Spalten beschränkt ist. Nur-Lese-Zugriff.
Syntax
Objekt.CurrentRegion
Elemente
Objekt Erforderlich. Steht als Platzhalter des markierten Bereichs innerhalb des aktuellen Bereichs.
Anmerkungen Diese Eigenschaft bietet sich bei vielen Operationen an, die die Markierung automatisch auf den umgebenden aktuellen Bereich erweitern (zum Beispiel die "AutoFormat"-Methode).
DIE ADDRESS-METHODE
Gibt den Bezug auf einen Bereich als Zeichenfolge in der Sprache des Makros zurück.
Syntax
Objekt.Address(rowAbsolute, columnAbsolute, referenceStyle, external, relativeTo)
Elemente
Die Address-Methode hat folgenden Objektkennzeichner mit nachfolgenden benannten Argumenten:
Objekt Erforderlich. Gibt einen Bezug auf diesen Bereich zurück.
rowAbsolute Optional. Ist das Argument Wahr oder nicht angegeben, wird der Bezugsteil mit der Zeilenangabe als absoluter Bezug zurückgegeben.
columnAbsolute Optional. Ist das Argument Wahr oder nicht angegeben, wird der Bezugsteil mit der Spaltenangabe als absoluter Bezug zurückgegeben.
referenceStyle Optional. Wird xlA1 angegeben oder erfolgt keine Angabe, gibt die Methode einen Bezug im A1-Bezugssystem zurück. Wird xlR1C1 angegeben, so gibt die Methode einen Bezug im Z1S1-Bezugssystem zurück.
External Optional. Ist das Argument Wahr, gibt die Methode einen externen Bezug zurück. Ist das Argument Falsch, gibt die Methode einen lokalen Bezug zurück. Die Voreinstellung ist Falsch.
relativeTo Optional. Sind rowAbsolute und columnAbsolute
beide Falsch und wird für Bezugsart der Wert xlR1C1 angegeben, so müssen Sie
einen Startpunkt für den relativen Bezug angeben. Dieses Argument ist ein
Bereich-Objekt und definiert den Startpunkt.
Copyright © by JOANNEUM RESEARCH Forschungsgesellschaft mbH |